package com.heima.leadnews.article.service;

import com.heima.model.article.dto.ApArticleDTO;
import com.heima.model.article.dto.ApArticleLoadMoreDTO;
import com.heima.model.article.dto.ApArticleLoadNewDTO;
import com.heima.model.article.pojos.ApArticle;
import com.baomidou.mybatisplus.extension.service.IService;
import com.heima.model.common.dtos.ResponseResult;
import com.heima.model.wemedia.dto.WmNewsDTO;

import java.util.List;

/**
 * <p>
 * 文章信息表，存储已发布的文章 服务类
 * </p>
 *
 * @author author
 * @since 2023-05-31
 */
public interface ApArticleService extends IService<ApArticle> {


    /**
     * 查询频道最新的十个文章
     *
     * @param dto
     * @return
     */
    ResponseResult<List<ApArticle>> load(ApArticleDTO dto);

    /**
     * 上滑，查询比底部文章发布时间小的10个文章
     *
     * @param dto
     * @return
     */
    ResponseResult<List<ApArticle>> loadMore(ApArticleLoadMoreDTO dto);


    /**
     * 下滑，查询比顶部文章发布时间大的10个文章
     *
     * @param dto
     * @return
     */
    ResponseResult<List<ApArticle>> loadNew(ApArticleLoadNewDTO dto);

    /**
     * 保存用户端文章的接口
     * 该接口是一个内部接口，被wemedia服务远程调用的。
     * @param dto
     * @return
     */
    ResponseResult<Long> saveArticle(WmNewsDTO dto);

    /**
     * 更新文章详情页面地址
     * @param articleId
     * @param url
     * @return
     */
    ResponseResult<Long> updateStaticUrl(Long articleId, String url);
}
